/**
 * 获取某个cookie项的值
 * @param name 键名
 * @returns {*} 对应的cookie值, 如果不存在则返回null
 */
export function getCookie(name) {
  let reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)"),
    arr = document.cookie.match(reg);
  if (arr)
    return decodeURIComponent(arr[2]);
  else
    return null;
}

/**
 * 设置cookie项
 * @param name 键名
 * @param value 键值
 * @param expires 有效时长, 以秒为单位. 为空时默认为会话级cookie, 即关闭浏览器就失效
 */
export function setCookie(name, value, expires, path = '/') {
  let exp = new Date();
  exp.setTime(exp.getTime() + 1000 * expires);
  document.cookie = name + "=" + encodeURIComponent(value) + ";path=" + path + ";" + (expires ? "expires=" + exp.toGMTString() : "");
}

/**
 * 删除某个cookie项
 * @param name 键名
 */
export function delCookie(name) {
  setCookie(name, null, -1);
}
